git flow 事實上是一個定義並管理分支的規範,以前舊的開發分支名字會亂取,並雜亂管理導致merge 衝突一堆,現在使用 git flow 來規範 5 個分支階段
有2個主支:
master => 正在production-ready 狀態
develop => 開發下次新功能的狀態
3個支援分支:
- Feature branches: 開發新功能都從 develop 分支出來,完成後 merge 回 develop
- Release branches: 準備要 release 的版本,只修 bugs。從 develop 分支出來,完成後 merge 回 master 和 develop
- Hotfix branches: 等不及 release 版本就必須馬上修 master 趕上線的情況。會從 master 分支出來,完成後 merge 回 master 和 develop
當遠端的 master 版本(commit),比自己還新時,這時是無法push 上去的,
注意:develop 狀態永遠會比 master 來新